﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string nom,os,h,b,a,aa,c;
            Double os1,h1,S,b1,a1,aa1,c1,p,k;

            m1:
            Console.WriteLine("Введите номер группы");
            nom= Console.ReadLine();
            if (nom == "1")
            {
            Console.WriteLine("Введите основание треугольника");
            os = Console.ReadLine();
            os1=Convert.ToDouble(os);

            Console.WriteLine("Введите высоту треугольника");
            h = Console.ReadLine();
            h1 = Convert.ToDouble(h);
            S = 0.5 * h1 * os1;

            if (S < 0)
            {
                Console.WriteLine("Площадь отрицательна, введите снова");
                goto m1;
            }
            else
            {
                Console.WriteLine(S);
            }

            }
            else if (nom == "2")
            {
                Console.WriteLine("Введите одну сторону");
                a = Console.ReadLine();
                a1 = Convert.ToDouble(a);

                Console.WriteLine("Введите вторую сторону");
                b = Console.ReadLine();
                b1 = Convert.ToDouble(b);

                Console.WriteLine("Введите угол треугольника");
                aa = Console.ReadLine();
                aa1 = Convert.ToDouble(aa);

                S = 0.5*a1 * b1 * Math.Sin(aa1/180*Math.PI);

                if (S < 0)
                {
                    Console.WriteLine("Площадь отрицательна, введите снова");
                    goto m1;
                }
                else
                {
                    Console.WriteLine(S);
                }
            }
            else if (nom == "3")
            {
                Console.WriteLine("Введите одну сторону");
                a = Console.ReadLine();
                a1 = Convert.ToDouble(a);

                Console.WriteLine("Введите вторую сторону");
                b = Console.ReadLine();
                b1 = Convert.ToDouble(b);

                Console.WriteLine("Введите третью сторону");
                c = Console.ReadLine();
                c1 = Convert.ToDouble(c);

                p=(a1+b1+c1)/2;

                S = Math.Pow(p * (p - a1) * (p - b1) * (p - c1), 0.5);
                if (S < 0)
                {
                    Console.WriteLine("Площадь отрицательна, введите снова");
                    goto m1;
                }
                else
                {
                    Console.WriteLine(S);
                }
            }
            else if (nom == "0")
            {
                Console.WriteLine("Введено неверное");
            }
            else 
            {
                goto m1;
            }
 
            
            Console.ReadLine();

        }
    }
}
